package nio;

/**
 * Created by IntelliJ
 * Author:熊磊
 */

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

/**
 * 一、 可以让文件直接在内存中修改,操作系统不需要拷贝一次
 */
public class MappedByteBufferTest {
    public static void main(String[] args) throws IOException {
        RandomAccessFile file = new RandomAccessFile("1.txt","rw");
        FileChannel channel = file.getChannel();

        /**
         * 读写模式
         * 可以修改的起始位置
         * 映射到内存的大小 , 即将1.txt 的多少个字节映射到内存
         */
        MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_WRITE, 0, 5);

        //buffer.put(0,(byte) 'H');
        //buffer.put(1,(byte) 'e');
        byte[] bytes = "熊".getBytes();
        buffer.put(bytes);

        file.close();
    }
}
